package com.csust.cg.mongodb.service;

import com.csust.cg.mongodb.domain.Result;
import com.csust.cg.mongodb.domain.vo.ConnectionVO;

import java.util.List;

/**
 * @author chenguang
 */
public interface SaveConnectService {
    /**
     * 获取用户保存的所有连接
     *
     * @param userId 用户ID
     * @return
     */
    Result getAllSaveConnectList(String userId);

    /**
     * 根据分组信息保存多条连接信息
     *
     * @param connection 连接信息
     * @param userId     用户ID
     * @return
     */
    Result addSaveConnectByGroup(ConnectionVO connection, String userId);

    /**
     * 保存一条连接并返回ID
     *
     * @param connection 连接信息
     * @param userId     用户ID
     * @return 连接ID
     */
    Integer addSaveConnect(ConnectionVO connection, String userId);

    /**
     * 编辑连接信息
     *
     * @param connection 连接信息
     * @param userId     用户ID
     * @param id         连接信息ID
     * @return
     */
    Result editSaveConnect(ConnectionVO connection, String userId, Integer id);

    /**
     * 删除保存的连接信息集合
     *
     * @param userId 用户ID
     * @param ids    连接ID集合
     * @return
     */
    Result removeSaveConnects(String userId, List<Integer> ids);

    /**
     * 导入连接集合
     *
     * @param connectionList 连接集合信息
     * @param userId         用户ID
     * @return
     */
    Result importSaveConnectList(List<ConnectionVO> connectionList, String userId);

    /**
     * 修改连接名和分组信息
     *
     * @param connectionId 连接ID
     * @param name         连接名
     * @param groupId      分组ID
     * @param userId       用户ID
     * @param id           连接ID
     * @return
     */
    Result editSaveConnectNameAndGroup(String connectionId, String name, Integer groupId, String userId, Integer id);
}
